﻿using System;
using Ycg.Utility;

/*
 * 如果有好几个程序都用这个，并且是同一个机器，那么日志文件名就必须不一样
 * 所以1.通过配置文件进行配置
 * 2.通过程序名称进行配置
 */

namespace Ycg.SimpleLogging
{
    public class Logger
    {
        private string _logFilePath = string.Empty;

        //这边有一个想法，因为我每次都想建个单例模式
        //所以我想的是类似Spring的模式，建个专门创建实例的仓库
        //先加载程序集，然后获取类型的命名空间

        public Logger()
        {
            this._logFilePath = this.GetLogFilePath();
        }

        private string GetLogFilePath()
        {
            return string.Empty;
        }

        public void Write(string message)
        {
            this.WriteMessage(string.Empty, message);
        }

        public void Write(string signName, string message)
        {
            this.WriteMessage(signName, message);
        }

        private void WriteMessage(string signName, string message)
        {
            string log = string.Format("{0}{1}{2}：{3}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), Environment.NewLine, signName, message);
            FileHelper.AppendContent(this._logFilePath, log + Environment.NewLine);
        }
    }
}